package com.bjsxt.httpclientserver.controller;

import com.bjsxt.httpclient.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

@Controller
public class TestController {
    /*
    * 使用请求体，传递请求参数。
    * @RequestMapping -  前端访问路径
    * @ResponseBody  -  不反回视图，返回响应体
    * @CrossOrigin  -  跨域请求注解，在响应头上增加跨域请求处理允许。
    *                  可以让ajax跨域请求当前的服务方法。
    *                  如果用于注解类型（必须是控制器），
    *                  代表当前控制器中的所有方法，都允许跨域访问。
    * */
    @RequestMapping(value = "/bodyParams",produces = {"application/json;charset=UTF-8"})
    @ResponseBody
    @CrossOrigin
    public String bodyParams(@RequestBody List<User> users){
        System.out.println(users);
        return users.toString();
    }
    @RequestMapping(value = "/params",produces = {"application/json;charset=UTF-8"})
    @ResponseBody
    public String params(String name,String password){
        System.out.println("name - "+name + "; password -" + password);
        return "{\"msg\":\"登录成功\",\"user\":{\"name\":\""+name+"\",\"password\":\""+password+"\"}}";
    }


    @RequestMapping(value = "/test",produces = {"application/json;charset=UTF-8"})
    @ResponseBody   //不返回视图，只返回结果
    public String test(){
        return "{\"msg\":\"处理返回\"}";
    }
}
